﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" />
  <xs:element name="GetTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetTaskResult" nillable="true" type="q1:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="task" nillable="true" type="q2:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetVMs">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetVMsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetVMsResult" nillable="true" type="q3:ArrayOfVM" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddVM">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="vm" nillable="true" type="q4:VM" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddVMResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AddVMResult" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateVM">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="vm" nillable="true" type="q5:VM" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateVMResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetVM">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetVMResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetVMResult" nillable="true" type="q6:VM" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteVM">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="vm" nillable="true" type="q7:VM" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteVMResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOSs">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOSsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetOSsResult" nillable="true" type="q8:ArrayOfOS" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddOS">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="os" nillable="true" type="q9:OS" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddOSResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateOS">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="os" nillable="true" type="q10:OS" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateOSResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOS">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOSResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetOSResult" nillable="true" type="q11:OS" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteOS">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="os" nillable="true" type="q12:OS" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteOSResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetScreenShots">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetScreenShotsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetScreenShotsResult" nillable="true" type="q13:ArrayOfScreenShot" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddScreenShot">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="scr" nillable="true" type="q14:ScreenShot" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddScreenShotResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateScreenShot">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="scr" nillable="true" type="q15:ScreenShot" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateScreenShotResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetScreenShot">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetScreenShotResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetScreenShotResult" nillable="true" type="q16:ScreenShot" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteScreenShot">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="scr" nillable="true" type="q17:ScreenShot" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteScreenShotResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSubjects">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSubjectsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetSubjectsResult" nillable="true" type="q18:ArrayOfSubject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddSubject">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="subj" nillable="true" type="q19:Subject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddSubjectResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateSubject">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="subj" nillable="true" type="q20:Subject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateSubjectResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSubject">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetSubjectResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q21="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetSubjectResult" nillable="true" type="q21:Subject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteSubject">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="subj" nillable="true" type="q22:Subject" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteSubjectResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetClientPCs">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetClientPCsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetClientPCsResult" nillable="true" type="q23:ArrayOfClientPC" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddClientPC">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q24="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="pc" nillable="true" type="q24:ClientPC" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddClientPCResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateClientPC">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="pc" nillable="true" type="q25:ClientPC" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateClientPCResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetClientPC">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="id" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetClientPCResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetClientPCResult" nillable="true" type="q26:ClientPC" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteClientPC">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q27="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="pc" nillable="true" type="q27:ClientPC" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteClientPCResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasks">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q28="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="GetTasksResult" nillable="true" type="q28:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q29="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="task" nillable="true" type="q29:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q30="http://schemas.datacontract.org/2004/07/VMDS.Business.Entities" minOccurs="0" name="task" nillable="true" type="q30:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetNetStorage">
    <xs:complexType />
  </xs:element>
  <xs:element name="GetNetStorageResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="GetNetStorageResult" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetLocalStorage">
    <xs:complexType />
  </xs:element>
  <xs:element name="GetLocalStorageResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="GetLocalStorageResult" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsManager">
    <xs:complexType />
  </xs:element>
  <xs:element name="IsManagerResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="IsManagerResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetData">
    <xs:complexType />
  </xs:element>
  <xs:element name="GetDataResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="GetDataResult" type="tns:CommonDTO" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="CommonDTO">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Data" type="tns:ArrayOfVmDTO" />
      <xs:element minOccurs="0" maxOccurs="1" name="Subjects" type="tns:ArrayOfSubject" />
      <xs:element minOccurs="0" maxOccurs="1" name="OperatingSystems" type="tns:ArrayOfOS" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfVmDTO">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="VmDTO" nillable="true" type="tns:VmDTO" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VmDTO">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Mashine" type="tns:VM" />
      <xs:element minOccurs="0" maxOccurs="1" name="ScreenShots" type="tns:ArrayOfScreenShot" />
      <xs:element minOccurs="1" maxOccurs="1" name="State" type="tns:VmState" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="VM">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Id" type="xs:int" />
      <xs:element minOccurs="1" maxOccurs="1" name="SubjectId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="1" name="Description" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Version" type="xs:int" />
      <xs:element minOccurs="1" maxOccurs="1" name="OSId" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" maxOccurs="1" name="CreatedBy" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfScreenShot">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ScreenShot" nillable="true" type="tns:ScreenShot" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ScreenShot">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Id" type="xs:int" />
      <xs:element minOccurs="1" maxOccurs="1" name="VMId" type="xs:int" />
      <xs:element minOccurs="0" maxOccurs="1" name="FileName" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="VmState">
    <xs:restriction base="xs:string">
      <xs:enumeration value="OnlineOnly" />
      <xs:enumeration value="LocalOnly" />
      <xs:enumeration value="Both" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ArrayOfSubject">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Subject" nillable="true" type="tns:Subject" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Subject">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Id" type="xs:int" />
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfOS">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="OS" nillable="true" type="tns:OS" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OS">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="Id" type="xs:int" />
      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Version" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="CreateVM">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="vm" type="tns:VM" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateVMResponse">
    <xs:complexType />
  </xs:element>
</xs:schema>